home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / ssh_detect.nasl < prev    next >
Text File  |  2005-03-31  |  2KB  |  91 lines

  1. #
  2. # This script was written by Noam Rathaus <noamr@securiteam.com>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6.  
  7. if(description)
  8. {
  9.  script_id(10267);
  10. #script_cve_id("CVE-MAP-NOMATCH");
  11.  script_version ("$Revision: 1.22 $");
  12.  
  13.  name["english"] = "SSH Server type and version";
  14.  script_name(english:name["english"]);
  15.  
  16.  desc["english"] = "This detects the SSH Server's type and version by connecting to the server
  17. and processing the buffer received.
  18. This information gives potential attackers additional information about the
  19. system they are attacking. Versions and Types should be omitted
  20. where possible.
  21.  
  22. Solution: Apply filtering to disallow access to this port from untrusted hosts
  23.  
  24. Risk factor : Low";
  25.  
  26.  script_description(english:desc["english"]);
  27.  
  28.  summary["english"] = "SSH Server type and version";
  29.  script_summary(english:summary["english"]);
  30.  
  31.  script_category(ACT_GATHER_INFO);
  32.  
  33.  script_copyright(english:"This script is Copyright (C) 1999 SecuriTeam");
  34.  family["english"] = "General";
  35.  script_family(english:family["english"]);
  36.  script_require_ports("Services/ssh", 22);
  37.  script_dependencies("find_service.nes", "find_service2.nasl", "external_svc_ident.nasl");
  38.  exit(0);
  39. }
  40.  
  41.  
  42. #
  43. # The script code starts here
  44. #
  45. include("misc_func.inc");
  46. include("ssh_func.inc");
  47.  
  48. port = get_kb_item("Services/ssh");
  49.  
  50. if (!port) port = 22;
  51. if (get_port_state(port))
  52. {
  53.  soc = open_sock_tcp(22);
  54.  if ( ! soc ) exit(0);
  55.  if ( defined_func("bn_random") ) 
  56.  {
  57.  ssh_login (socket:soc, login:"n3ssus", password:"n3ssus", pub:NULL, priv:NULL, passphrase:NULL);
  58.  
  59.  version = get_ssh_server_version ();
  60.  banner = get_ssh_banner ();
  61.  supported = get_ssh_supported_authentication ();
  62.  }
  63.  else 
  64.  {
  65.  version = recv_line(socket:soc, length:4096);
  66.  if ( !ereg(pattern:"^SSH-", string:version ) ) exit(0);
  67.  }
  68.  
  69.  if (version)
  70.  {
  71.    set_kb_item(name:"SSH/banner/" + port, value:version);
  72.    text = "Remote SSH version : " + version + '\n\n';
  73.  
  74.    if (supported)
  75.    {
  76.      set_kb_item(name:"SSH/supportedauth/" + port, value:supported);
  77.      text += 'Remote SSH supported authentication : ' + supported + '\n\n';
  78.    }
  79.    
  80.    if (banner)
  81.    {
  82.      set_kb_item(name:"SSH/textbanner/" + port, value:banner);
  83.      text += 'Remote SSH banner : \n' + banner + '\n\n';
  84.    }
  85.  
  86.    security_note(port:port, data:text);
  87.    register_service(port: 22, proto: "ssh");   
  88.  }
  89. }
  90.  
  91.